home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / Libraries / DCLAP 6d / dclap6d / Drtf / DRichHandler.h < prev    next >
Text File  |  1996-07-05  |  2KB  |  76 lines

  1. // DRichHandler.h
  2. // d.g.gilbert
  3.  
  4.  
  5.  
  6. #ifndef _DRichHANDLER_
  7. #define _DRichHANDLER_
  8.  
  9. #include "DObject.h"
  10.  
  11. class DFile;
  12. class DRichView;
  13. class DRichprocess;
  14. class DRichStyle;
  15.  
  16.  
  17. class DRichsetup  
  18. {
  19. public:
  20.     DRichsetup();
  21.     ~DRichsetup();
  22. };
  23.  
  24.  
  25. class DRichHandler : public DObject
  26. {
  27. public:
  28.     enum docFormats {
  29.         kUnknownformat,
  30.         kTextformat
  31.         };
  32.  
  33.     enum stages {
  34.         kAtStart,
  35.         kInBody,
  36.         kAtEnd
  37.         };
  38.         
  39.     short                 fProcessStage, fTasknum;  
  40.     DRichView         * fDoc;
  41.     DFile                    * fDocFile;
  42.     DRichprocess    * fProcessor;
  43.     char                    * fFormatName;
  44.     short                    fMinDataToProcess;
  45.     long                     fLastScanto;
  46.     
  47.     DRichHandler(DRichView* itsDoc, DFile* savefile);
  48.     virtual ~DRichHandler();
  49.     virtual Boolean ProcessData( char* cbeg, char* cend, Boolean endOfData, 
  50.                     ulong& dataRemaining);
  51.     virtual Boolean ProcessFile( char* filename);
  52.     virtual Boolean ProcessFile( DFile* theFile); 
  53.     virtual DRichprocess* NewProcessor( DFile* itsFile, Nlm_MonitorPtr progress);
  54.     virtual void InstallInStyle( DRichView* theDoc, DRichStyle* theStyle);
  55.  
  56.     virtual char* IsRich( char* buf, ulong buflen = 0);
  57.     virtual long  IsRichFile( DFile* theFile);
  58.     virtual long  IsRichFile( char* filename);
  59.     
  60.     virtual short Format() { return kTextformat; }
  61.     static void RichFileSigs( char*& suffix, char*& type, char*& sire) 
  62.         { suffix= ".text"; type= "TEXT"; sire= "ttxt"; }
  63.     
  64. protected:
  65.     char      fcsave;  
  66.     ulong     fclen;
  67.     
  68.     virtual Boolean ProcessData2( char* cp, char* cbeg, char* cend, Boolean endOfData, 
  69.                     ulong& dataRemaining);
  70.  
  71. };
  72.  
  73.  
  74.  
  75. #endif
  76.